1. Field
Embodiments of the present disclosure relate to an apparatus for localizing a cleaning robot, the cleaning robot, and a control method for the cleaning robot.
2. Description of the Related Art
A cleaning robot is an apparatus that cleans impurities such as dust from the floor while traveling an area to be cleaned by itself even without a user's operation, and performs a cleaning operation while traveling according to a traveling pattern set in advance. In addition, the cleaning robot determines a distance to obstacles such as furniture, walls, appliances, or the like installed in a cleaning area using a sensor, and switches a direction by itself by selectively driving a left motor and a right motor.
In order for the above-described cleaning robot to perform a smooth cleaning operation in a variety of cleaning environments, it is important to accurately determine its position. The determination of the position of the cleaning robot is achieved in such a manner as to estimate a current position of the cleaning robot using data measured by an environmental map in which the cleaning robot is operated and a sensor.
A technique that is most commonly used as a method of determining the position using a map is a Monte Carlo localization (hereinafter, referred to as “MCL”) method based on a particle filter. In the MCL method in which a particle filter is implemented to determine the position of the cleaning robot, particles indicating a virtual position of the cleaning robot within a predetermined area are randomly sampled on a map (random sampling), and the cleaning robot repeatedly performs an operation for converging the particles while moving a predetermined distance in an arbitrary direction. Through this process, the particles may be finally converged into one position, and the converged position may be recognized as the current position of the cleaning robot.
However, such a localization method is likely to fail to localize the cleaning robot when the number of the used particles is small, and a calculation time for localization is increased when the number of the particles is large. In addition, the cleaning robot should meaninglessly move the predetermined distance in the arbitrary direction in order to converge the particles into one position, which is significantly inefficient.
In addition, assuming that the cleaning robot is placed to be inclined against a wall surface, when the cleaning robot starts to clean while maintaining a direction in which the cleaning robot is initially positioned, an inefficient traveling route may be generated, so that there may be a lot of areas in which cleaning is missed.
Therefore, there is the need to accurately determine a traveling direction of a cleaning robot so that the cleaning robot may travel all areas of the cleaning space.